package controller;

import java.util.ArrayList;
import java.util.List;

import dao.OrdemServicoDao;
import dao.OrdemServicoDaoImplementation;
import dao.ItemOrdemServicoDao;
import dao.ItemOrdemServicoDaoImplementation;
import dao.ItemParcelaOrdemServicoDao;
import dao.ItemParcelaOrdemServicoDaoImplementation;
import entity.OrdemServico;
import entity.ItemOrdemServico;
import entity.ItemParcelaOrdemServico;

public class OrdemServicoController {
			
		public void salvarOrdemServico(OrdemServico ordemServico)
		{
			OrdemServicoDao dao = new OrdemServicoDaoImplementation();
			dao.save(ordemServico);
			
			List<ItemOrdemServico> listaItemOrdemServico = new ItemOrdemServicoDaoImplementation().list();
			
			ItemOrdemServicoDao daoItemOrdemServico = new ItemOrdemServicoDaoImplementation();
			
			for (ItemOrdemServico listaItemOrdemServicoNull: listaItemOrdemServico)
			{
				if(listaItemOrdemServicoNull.getOrdemServico() == null)
				{
					listaItemOrdemServicoNull.setOrdemServico(new OrdemServico());
					listaItemOrdemServicoNull.setOrdemServico(ordemServico);
					daoItemOrdemServico.update(listaItemOrdemServicoNull);
				}
			}
			
			List<ItemParcelaOrdemServico> listaItemParcelaOrdemServico = new ItemParcelaOrdemServicoDaoImplementation().list();
			
			ItemParcelaOrdemServicoDao daoItemParcelaOrdemServico = new ItemParcelaOrdemServicoDaoImplementation();
			
			for (ItemParcelaOrdemServico listaItemParcelaOrdemServicoNull: listaItemParcelaOrdemServico)
			{
				if(listaItemParcelaOrdemServicoNull.getOrdemServico() == null)
				{
					listaItemParcelaOrdemServicoNull.setOrdemServico(new OrdemServico());
					listaItemParcelaOrdemServicoNull.setOrdemServico(ordemServico);
					daoItemParcelaOrdemServico.update(listaItemParcelaOrdemServicoNull);
				}
			}
		}
		
		public void editarOrdemServico(OrdemServico ordemServico)
		{
			OrdemServicoDao dao = new OrdemServicoDaoImplementation();
			dao.update(ordemServico);
		}
		
		public void excluirOrdemServico(OrdemServico ordemServico)
		{
			OrdemServicoDao dao = new OrdemServicoDaoImplementation();
			dao.delete(ordemServico);
		}
		
		public void consultarOrdemServico(OrdemServico ordemServico)
		{
			OrdemServicoDao dao = new OrdemServicoDaoImplementation();
			dao.consult(ordemServico);
		}
		
		public OrdemServico getOrdemServicoById(long idOrdemServico){
			OrdemServicoDao dao = new OrdemServicoDaoImplementation();
			return dao.getOrdemServico(idOrdemServico);
			}

			public List<OrdemServico> listarOrdemServico() 
			{
			List<OrdemServico> listaOrdemServico = new OrdemServicoDaoImplementation().list();

			listaOrdemServico = new ArrayList<OrdemServico>(listaOrdemServico);

			return listaOrdemServico;
			}
}


